package color

import (
	c "github.com/fatih/color"
)

/*


// 前景 背景 颜色
// ---------------------------------------
// 30  40  黑色
// 31  41  红色
// 32  42  绿色
// 33  43  黄色
// 34  44  蓝色
// 35  45  紫红色
// 36  46  青蓝色
// 37  47  白色
//
// 代码 意义
// -------------------------
//  0  终端默认设置
//  1  高亮显示
//  4  使用下划线
//  5  闪烁
//  7  反白显示
//  8  不可见


*/

type Color int

const (
	Black  Color = 30 + iota //黑色
	Red                      //红色
	Green                    //绿色
	Yellow                   //黄色
	Blue                     //蓝色
	Violet                   //紫色
	Cyan                     //青色
	Gray                     //灰色
	White                    //白色

	BBlack  = 40 + iota //黑底
	BRed                //红底
	BGreen              //绿底
	BYellow             //黄底
	BBlue               //蓝底
	BViolet             //紫底
	BCyan               //青底
	BGray               //灰底

)

func init() {
	c.NoColor = false
}

// Set fmt.Sprintf("\033[1;%dm%s\033[0m", color, s)
func Set(color Color, s string) string {
	return c.New(c.Attribute(color)).Sprint(s)
}

func Print(color Color, s ...interface{}) (n int, err error) {
	return c.New(c.Attribute(color)).Print(s...)
}
